// 1. 导入express
const express = require('express')
// 2. 导入data数据
const data = require('./data/newdata.json')
// 3. 导入ejs
const ejs = require('ejs');

// 3.2 导入path模块
const path = require('path');

// 4. 创建express对象
const app = express();
//5. 配置模板引擎对应解析目录 - 设置模板引擎的保存目录
// 参数1：views 固定的
// 参数2：保存路径
app.set('views',path.resolve(__dirname,'./html'));
//6. 渲染文件方法及文件后缀名设置 
// 参数1：解析模板的后缀名
// 参数2：ejs.renderFile ejs模板的解析方法 - 固定的
app.engine("html",ejs.renderFile);
// 7. 首页 get "/"
app.get('/',(req,res)=>{
    // 7.1 渲染首页模板
    // 参数1：模板文件名
    // 参数2：传入数据 - 可以不写
    res.render('index.html');
})
    
    
// 8. 新闻列表页 get "/newlist"
app.get('/newlist',(req,res)=>{
    // 8.1 渲染新闻列表模板,并传入data数据
    let obj = {name:"laowang",age:18}; 
    let str = JSON.stringify(obj); //"json格式"的对象 -> json格式的字符串
    // console.log(obj); //{ name: 123, age: 18 }
    // console.log(str); //{"name":123,"age":18}
    res.render('newlist.html',{data,str})
})
     
   
// 9. 新闻详情页 get "detail/:id"
app.get('/detail/:id',(req,res)=>{
    // 9.1 获取对应的新闻数据
        // 9.1.1 先得拿到id
        let id = req.params.id;// {id:}
        // 9.1.2 通过id查找响应数据并解构
        let {newsTitle,newsContent} = data.find(item=>item.id === id);
    // 9.2 渲染模板,传入新闻标题和新闻内容数据
    res.render('detail.html',{newsTitle,newsContent});
})

// 10. 监听端口
app.listen(80,()=>{
    console.log("启动成功");
});
